import java.util.Arrays;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: ws
 * Date: 2022-12-20
 * Time: 20:04
 */

//https://www.acwing.com/problem/content/description/900/
public class Test1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        //多开辟空间，防止数组越界
        int[][] arr = new int[510][510];
        int[][] dp = new int[510][510];
        //将arr数组元素读入，由于dp存放的是背包中的元素，
        //即使arr数组没有全部填充也不影响（因为遍历的时候只遍历有效的元素）
        for (int i = 1; i <= n; ++i) {
            for (int j = 1; j <= i; ++j) {
                arr[i][j] = scan.nextInt();
            }
        }
        //将dp背包初始化（存入int的最小元素）
        for (int i = 0; i < dp.length; ++i) {
            //调用fill方法填充
            /**
             *     public static void fill(int[] a, int val) {
             *         for (int i = 0, len = a.length; i < len; i++)
             *             a[i] = val;
             *     }
             */
            Arrays.fill(dp[i], Integer.MIN_VALUE);
        }

//        for (int i = 0; i < dp.length; ++i) {
//            for (int j = 0; j < dp[i].length; ++j) {
//                dp[i][j] = Integer.MIN_VALUE;
//            }
//        }

        //初始化第一个数组
        dp[1][1] = arr[1][1];
        for (int i = 2; i <= n; ++i) {
            for (int j = 1; j <= i; ++j) {
                //dp数组将arr每条路径的最大值存储在对应的位置
                //这样到最后一行就存储了，每条路径的最大元素，遍历最后一行找出最大值即可
                dp[i][j] = Math.max(dp[i-1][j-1], dp[i-1][j]) + arr[i][j];
                /**
                 * dp[i][j] = Math.max(dp[i-1][j-1] + arr[i][j], dp[i-1][j] + arr[i][j]);
                 * 由于dp的初始值位Integer.MIN_VALUE,所以不能出现比它更小的值，而arr中的元素有可能为负数
                 * 二者相加会导致越界，所以要分开，不能采用这种形式
                 */
            }
        }
        //遍历最后一行，找到最大的数
        int ans = Integer.MIN_VALUE;
        for (int i = 1; i <= n; ++i) {
            ans = Math.max(ans, dp[n][i]);
        }
        System.out.println(ans);

        scan.close();
    }
}
